The global positioning system (GPS) may be used for determining the position of a user on or near the earth, from signals received from multiple orbiting satellites. The orbits of the GPS satellites are arranged in multiple planes, in order that signals can be received from at least four GPS satellites at any selected point on or near the earth.
The nature of the signals transmitted from GPS satellites is well known from the literature, but will be described briefly by way of background. Each satellite transmits two spread-spectrum signals in the L band, known as L1 and L2, with separate carrier frequencies. Two signals are needed if it is desired to eliminate an error that arises due to the refraction of the transmitted signals by the ionosphere. Each of the carrier signals is modulated in the satellite by at least one of two pseudorandom noise (PRN) codes unique to the satellite. This allows the L-band signals from a number of satellites to be individually identified and separated in a receiver. Each carrier is also modulated by a slower-varying data signal defining the satellite orbits and other system information. One of the PRN codes is referred to as the C/A (clear/acquisition) code, while the second is known as the P (precision) code.
In the GPS receiver, the signals corresponding to the known P-code and C/A code may be generated in the same manner as in the satellite. The L1 and L2 signals from a given satellite are demodulated by aligning the phases, i.e., by adjusting the timing, of the locally-generated codes with those modulated onto the signals from that satellite. In order to achieve such phase alignment the locally generated code replicas are correlated with the received signals until the resultant output signal power is maximized. Since the time at which each particular bit of the pseudorandom sequence is transmitted from the satellite is defined, the time of receipt of a particular bit can be used as a measure of the transit time or range to the satellite. Again, because the C/A and P-codes are unique to each satellite, a specific satellite maybe identified based on the results of the correlations between the received signals and the locally-generated C/A and P-code replicas.
Each receiver "channel" within the GPS receiver is used to track the received signal from a particular satellite. A synchronization circuit of each channel provides locally generated code and carrier replicas, which are synchronous with each other. During acquisition of the code phase within a particular channel, the received satellite signal is correlated with a discrimination pattern comprised of some combination of "early" and "late" versions of the channel's locally generated code replica. The resultant early-minus-late correlation signals are accumulated and processed to provide feedback signals to control code and carrier synchronization.
Historically, the phase difference between the early and late code versions generated within the GPS receiver has been equivalent to one code chip (i.e., 1.0 chip correlator spacing). A number of factors have contributed to widespread use of early-minus-late discrimination patterns relying upon 1.0 chip correlator spacing. For example, in analog GPS receivers this correlator spacing minimized the required hardware. Also, early GPS receivers typically utilized P-code (rather than C/A code) tracking, in which synchronization is established with relatively short-duration P-code chips. As a consequence, it was believed that the use of narrow correlator spacings, i.e., less than 1 chip, could result in loss of code lock due to Doppler and other disturbances. Such narrower spacings also increase the requisite speed of P-code signal processing circuitry, which is of necessity already relatively fast due to the high P-code chip rate.
Recently, digital GPS receivers relying upon C/A code tracking have been developed which employ correlator spacings of less than one C/A code chip. Such narrow correlator spacing is believed to reduce code-tracking error by increasing the correlation between the "early" and "late" noise contributions, which tend to cancel in the early-minus-late code discriminator. Although discrimination patterns characterized by narrow early-minus-late correlator spacing afford improved C/A code tracking, such early-minus-late discrimination schemes are still relatively sensitive to received multipath signal energy. Multipath signal energy arises due to reflections of the satellite signals from objects within the vicinity of the GPS receiver antenna. Since the multipath signals are processed together with the GPS signal directly received from the satellite, code and carrier tracking can be significantly corrupted by multipath errors.
Since multipath energy is always delayed relative to directly received GPS signals, multipath energy tends to corrupt the locally generated "late" version of a code signal rather than the early version. As a consequence, GPS receivers have been developed which utilize an "early-minus-prompt" discrimination pattern in the code correlation process. By forming the discrimination pattern based on the difference of the early and prompt, or "on-time", code replicas, it has been possible to somewhat reduce the deleterious effects of multipath. However, it is believed that substantially improved performance could be obtained through the use of discrimination patterns even less susceptible to adverse multipath effects.
Accordingly, it is an object of the present invention to provide a method of code synchronization which is even less sensitive to the effects of multipath than are techniques predicated on the use of "early-minus-prompt" discrimination patterns.